home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Visual Basic Source Code
/
Visual Basic Source Code.iso
/
vbsource
/
datamgr
/
module1.bas
< prev
next >
Wrap
BASIC Source File
|
1995-10-23
|
15KB
|
505 lines
Option Explicit
Global gDatabase As database 'Current Database
Global gDatabaseName As String
Global gDatabaseForm As Form
Global gDatabaseType As String
Function addField (table, FName, fType, FSize, FCounter)
Dim f As New field
On Error Resume Next
addField = True
f.Name = FName
f.type = fType
f.size = TypeToSize(fType, FSize)
If fType = 4 And FCounter = 1 Then f.Attributes = 16
gDatabase.TableDefs.Refresh
If Err <> 0 Then
MsgBox "Error During Refresh Attempt:" + Chr$(13) + Error$, 64, "Data Manager"
addField = False
Exit Function
End If
gDatabase.TableDefs(table).Fields.Refresh
If Err <> 0 Then
MsgBox "Error During Refresh Attempt:" + Chr$(13) + Error$, 64, "Data Manager"
addField = False
Exit Function
End If
gDatabase.TableDefs(table).Fields.Append f
If Err <> 0 Then
MsgBox "Error During Add Field Attempt:" + Chr$(13) + Error$, 64, "Data Manager"
addField = False
Exit Function
End If
End Function
Function AddTable (x As String, FName, fType, FSize, FCounter)
Dim td As New tabledef
Dim f As New field
Dim bInvalid As Integer
On Error Resume Next
AddTable = True
f.Name = FName
f.type = fType
f.size = TypeToSize(fType, FSize)
If fType = 4 And FCounter = 1 Then f.Attributes = 16
td.Fields.Append f
' Do
bInvalid = False
If x = "" Or bInvalid = True Then
x = InputBox("Table Name:", "Create New Table")
End If
If x <> "" Then
td.Name = x
gDatabase.TableDefs.Append td
If Err <> 0 Then
MsgBox "Error During Attempt to Create Table:" + Chr$(13) + Error$, 64, "Data Manager"
x = ""
' If Err = 3010 Or Err = 3125 Then
' bInvalid = True
' Else
AddTable = False
Exit Function
' End If
Else
RefreshDatabaseWindow
End If
Else
AddTable = False
End If
' Loop While bInvalid = True
End Function
'returns true if database is closed
Function CloseCurrentDatabase ()
'Used for loop through forms
Dim i, max, temp, abort As Integer
'If there is no database open, return true
If gDatabaseName = "" Then
CloseCurrentDatabase = True
Else
'Unload all query and tabledef forms
max = forms.Count - 1
i = 0
abort = False
Do While i <= max
If forms(i).Tag <> "Main" And forms(i).Tag <> "Database" Then
temp = forms.Count
Unload forms(i)
If temp = forms.Count Then
abort = True
Exit Do
End If
max = max - 1
Else
i = i + 1
End If
Loop
'If all query and tabledef forms closed, and the user didn't abort,
'close the database and return Success, else return Failure
If forms.Count = 2 And Not abort Then
Unload gDatabaseForm
CloseCurrentDatabase = True
Else
CloseCurrentDatabase = False
End If
End If
End Function
Sub OpenADatabase (cmdialog As Control, dataBaseType As String)
On Error Resume Next
Dim x As String
Dim stgpos As Integer
gDatabaseType = dataBaseType
If dataBaseType = "ODBC" Then 'Make ODBC Menu visible
Set gDatabase = OpenDatabase("", 0, 0, "odbc;")
If Err = 3059 Then
Exit Sub
ElseIf Err <> 0 Then
MsgBox "Could Not Connect:" + Chr$(13) + Error$, 64, "Data Manager"
Exit Sub
End If
x = "ODBC"
stgpos = InStr(gDatabase.Connect, "DATABASE=")
If stgpos > 0 Then x = Mid$(gDatabase.Connect, stgpos + 9)
gDatabaseName = x
OpenDatabaseWindow x
ElseIf dataBaseType = "Access" Then
cmdialog.DefaultExt = "mdb"
cmdialog.Filename = ""
cmdialog.DialogTitle = "Open Database"
cmdialog.CancelError = True
cmdialog.Filter = "Access (*.mdb)|*.mdb|All Files (*.*)|*.*|"
cmdialog.Flags = &H4& Or &H1000& 'remove readonly checkbox
cmdialog.Action = 1
If Err <> 32755 Then
Set gDatabase = OpenDatabase(cmdialog.Filename)
If Err <> 0 Then
MsgBox "Could Not Open Database:" + Chr$(13) + Error$, 64, "Data Manager"
Exit Sub
Else
'This next line used to read gDatabaseName=gDatabase.Name
'but this didn't include the path of the file.
gDatabaseName = cmdialog.Filename
x = cmdialog.Filetitle
OpenDatabaseWindow gDatabaseName
End If
End If
ElseIf dataBaseType = "Btrieve" Then
cmdialog.Filename = ""
cmdialog.DefaultExt = "ddf"
cmdialog.DialogTitle = "Open Database"
cmdialog.CancelError = True
cmdialog.Filter = "Btrieve (*.ddf)|*.ddf|All Files (*.*)|*.*|"
cmdialog.Flags = &H4& Or &H1000& 'remove readonly checkbox
cmdialog.Action = 1
If Err <> 32755 Then
Set gDatabase = OpenDatabase(cmdialog.Filename, 0, 0, "btrieve")
If Err <> 0 Then
MsgBox "Could Not Open Database:" + Chr$(13) + Error$, 64, "Data Manager"
Exit Sub
Else
'This next line used to read gDatabaseName=gDatabase.Name
'but this didn't include the path of the file.
gDatabaseName = cmdialog.Filename
x = cmdialog.Filetitle
OpenDatabaseWindow gDatabaseName
End If
End If
Else
Load OpenDBForm
OpenDBForm.Label1 = "Pick Your " + gDatabaseType + " Directory:"
OpenDBForm.Show 1
If OpenDBForm.ExitCondition = "OK" Then
x = OpenDBForm.Dir1
If Right(x, 1) <> "\" Then x = x + "\"
Set gDatabase = OpenDatabase(x, 0, 0, dataBaseType + ";")
If Err <> 0 Then
MsgBox "Could Not Open Database:" + Chr$(13) + Error$, 64, "Data Manager"
Exit Sub
Else
gDatabaseName = gDatabase.Name
x = OpenDBForm.Dir1
OpenDatabaseWindow x
End If
End If
End If
End Sub
Sub OpenDatabaseWindow (title As Variant)
Dim x As New dbForm
Set gDatabaseForm = x
x.Caption = "Database: " + title
'gDatabaseName = title
RefreshDatabaseWindow
gDatabaseForm.Show
End Sub
Sub OpenNewDatabase (cmdialog As Control, Verfmt As Integer)
'VerFmt=0 means Access 1.1
'VerFmt=1 means Access 1.0
On Error Resume Next
cmdialog.DefaultExt = "mdb"
cmdialog.DialogTitle = "New Database"
cmdialog.Filename = ""
cmdialog.CancelError = True
cmdialog.Filter = "Access (*.mdb)|*.mdb|All Files (*.*)|*.*|"
cmdialog.Flags = &H4&
cmdialog.Action = 2
If Err <> 32755 Then
Set gDatabase = CreateDatabase(cmdialog.Filename, ";LANGID=0x0809;CP=1252;COUNTRY=0", Verfmt)
If Err <> 0 Then
MsgBox "Could Not Create Database: " + Chr$(13) + Error$, 64, "Data Manager"
Exit Sub
End If
gDatabaseName = cmdialog.Filename
OpenDatabaseWindow (UCase(cmdialog.Filetitle))
End If
End Sub
Sub OpenNewTableDesign ()
On Error Resume Next
Dim sTableName As String
sTableName = InputBox("Table Name:", "Create New Table")
If sTableName = "" Then Exit Sub
'Check to see if table already exists
D